###Function###
ObjCreateInterface

###Experimental###

###Description###
Erzeugt eine Referenz zu einem Objekt aus dem angegebenen Klassennamen/Object-Pointer, Interface-Identifier und Bezeichnungsstring.

###Syntax###
ObjCreateInterface ( "CLSID" , "IID" [, "interface_description",[flag = True]] )


###Parameters###
@@ParamTable@@
CLSID
	Klassenidentifizierer oder Object-Pointer. Der Klassenidentifizierer kann eine ProgID oder Stringreprsentation der CLSID sein.
IID
	Stringreprsentation des Interface-Identifiers.
interface_description
	[optional] String der die v-table des Objects bezeichnet. Das Default Keyword kann benutzt werden um auf IDispatch fr dual interfaces zuzugreifen.
flag
	[optional] Der Standardwert ist True, was bedeutet dass das Object-Interface Eigenschaften von IUnknown erbt.
@@End@@

###ReturnValue###
@@ReturnTable@@
Erfolg:	Ein Objekt.
Fehler:	Setzt @error auf ungleich Null.
@@End@@


###Remarks###
<a href="ObjCreateInterface.htm">ObjCreateInterface()</a> erzeugt Objekte mit Methoden die im Interface-Bezeichnungsstring aufgelistet sind.
Bei COM Objekten (IUnknown basiert) sind die ersten drei Methoden immer QueryInterface, AddRef und Release. Diese drfen nicht im Bezeichnungsstring spezifiziert werden.

<b>Methoden die im Bezeichnungsstring aufgelistet sind, mssen in der v-table Reihenfolge des Interfaces sein. Falls eine ungltige oder fehlerhafte Bezeichnung angegeben wird, kann das zur Instabilitt oder zum Absturz von AutoIt fhren.</b>

Das Format des Bezeichnungsstrings ist:
$sTagInterface = "MethodName1 RetType(ParamType1;ParamType2;...); MethodName2 RetType(..."

Standardmig, benutzt AutoIt die 'stdcall' Aufrufkonvention fr COM. Um 'cdecl' zu benutzen muss ein ':cdecl' nach dem Rckgabetyp angegeben werden.

Gltige Typen sind:

@@ParamTable@@
<b>Typ</b>
	<b>Details</b>
none
	kein Wert (nur fr Rckgabetyp gltig - quivalent zu void in C)
byte
	ein vorzeichenloser 8 bit Integer
boolean
	ein vorzeichenloser 8 bit Integer
short
	ein 16 bit Integer
word, ushort
	ein vorzeichenloser 16 bit Integer
int, long
	ein 32 bit Integer
bool
	ein 32 bit Integer
dword, ulong, uint
	ein vorzeichenloser 32 bit Integer
hresult
	ein 32 bit Integer
int64
	ein 64 bit Integer
uint64
	ein vorzeichenloser 64 bit Integer
ptr
	ein allgemeiner Pointer (void *)
hwnd
	ein Fensterhandle (pointer)
handle
	ein Handle (pointer)
float
	eine Gleitkommazahl mit einfacher Genauigkeit
double
	eine Gleitkommazahl mit doppelter Genauigkeit
int_ptr, long_ptr, lresult, lparam
	ein Integer, gro genug um einen Pointer zu enthalten wenn die x86 or x64 Versionen von AutoIt benutzt werden.
uint_ptr, ulong_ptr, dword_ptr, wparam
	ein vorzeichenloser Integer, gro genug um einen Pointer zu enthalten wenn die x86 or x64 Versionen von AutoIt benutzt werden.
str
	ein ANSI String (ein Minimum von 65536 chars wird reserviert).
wstr
	ein UNICODE wide character String (ein Minimum von 65536 chars wird reserviert).
bstr
	ein zusammengesetzter Datentyp der aus einem Lngenprfix, einem Datenstring und einem Endzeichen besteht.
variant
	eine tagged-Union welche jeden anderen Datentyp reprsentieren kann.
idispatch, object
	ein zusammengesetzter Datentyp der ein Object mit IDispatch Interface reprsentiert.
clsid
	128-bit Integer in Form eines GUID Strings
struct
	Struktur die mit <a href="DllStructCreate.htm">DllStructCreate()</a> erstellt wurde
*
	Um einen Datentypen via Referenz (Pointer) zu bergeben muss * an den Datentyp angefgt werden.  Beispiel: "int*" bergibt einen Pointer zu einem "int" Typ.
@@End@@

Siehe <a href="../intro/ComRef.htm">Obj/COM Reference</a> fr mehr Informationen ber Objekte.


###Related###
ObjCreate


###Example###
@@IncludeExample@@
